package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.StudentBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
@Mapper
public interface IStudentMapper extends BaseMapper<StudentBean> {

    /**
     * 显示所有学生
     * @return 学生对象 {id，姓名，性别，班级名称，房间地址，联系电话，入住时间，头像}
     */
    ArrayList<StudentBean> showAllStudents();



    /**
     * 根据学生id，查找学生，同时查询房间地址，班级名称（联表）
     * @param stuId 学生id
     * @return 学生对象  学生信息{学生id，学生姓名，性别，房间地址，班级名称，入住时间，联系电话，头像}
     */
    StudentBean studentById(Integer stuId);


    /**
     * 动态条件分页查询学生，同时查询房间地址，班级名称（联表）
     * @param stuName 学生姓名
     * @param className 班级名
     * @param roomAddress 房间地址
     * @return 学生集合 学生信息{学生id，学生姓名，性别，房间地址，班级名称，入住时间，联系电话，头像}
     */
    IPage<StudentBean>  cutPageByCondition(Page pg,
                                           @Param("stuName") String stuName,
                                           @Param("className") String className,
                                           @Param("roomAddress") String roomAddress);
}
